/**
 * ID生成工具
 * 提供简单的ID生成功能
 */

/**
 * 生成简单唯一ID
 * 基于时间戳和随机数生成，适合大多数场景
 * @returns {string} 生成的唯一ID
 */
function generateId() {
  return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);
}

/**
 * 生成指定长度的随机字符串
 * @param {number} length - 字符串长度，默认为8
 * @returns {string} 生成的随机字符串
 */
function generateRandomString(length = 8) {
  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  let result = '';
  for (let i = 0; i < length; i++) {
    result += chars.charAt(Math.floor(Math.random() * chars.length));
  }
  return result;
}

/**
 * 生成带前缀的ID
 * @param {string} prefix - ID前缀
 * @returns {string} 带前缀的ID
 */
function generatePrefixedId(prefix) {
  return `${prefix}_${generateId()}`;
}

module.exports = {
  generateId,
  generateRandomString,
  generatePrefixedId
};